Methoden werden in einem Klassenmodul durch öffentliche Prozeduren (Sub-Prozeduren oder Funktionen) beschrieben, zum Beispiel im Klassenmodul cTelefonverzeichnis:
Public Sub Sortiere() ... End Sub
Über den Punktoperator können die Methoden einer Instanz aufgerufen werden, zum Beispiel im Standardmodul Prozeduren:
'--- vereinbare Objektvariablen Dim Verzeichnis As cTelefonverzeichnis '--- erstelle Instanz und lasse Objektvariable darauf verweisen Set Verzeichnis = New cTelefonverzeichnis '--- greife auf Methode zu Verzeichnis.Sortiere
Bei ihrer Ausführung ändern Methoden entweder den Zustand des Objektes oder sie veranlassen ihrerseits andere Objekte dazu, Aktionen auszuführen. Den Zustand des Objektes ändern sie, indem sie die Werte einer oder mehrerer Eigenschaften ändern. Aktionen führen sie aus, indem sie Methoden anderer Objekte aufrufen. Die Sortiere()-Methode ist ein Beispiel einer Methode, die den Zustand eines Verzeichnis-Objektes ändert, indem sie die Werte einer internen Liste umordnet.
Bei der Definition und Benennung von Methoden ist eine Programmiererin in der Regel frei. In Klassenmodulen gibt es lediglich zwei spezielle Methoden, bei denen Visual Basic die Prozedurköpfe bereits vordefiniert - den Konstruktor und den Destruktor:
Ein Konstruktor ist eine Methode, die eine Instanz bei der Erzeugung initialisiert. Konstruktoren werden unmittelbar nach der Erzeugung automatisch ausgeführt und bieten Gelegenheit, die Instanz in einen definierten Anfangszustand zu versetzen.
In Visual Basic hat der Konstruktor eines Klassenmoduls immer den Namen Class_Initialize. Er kann keine Argumente entgegennehmen, und er lässt sich nicht explizit aufrufen. Er wird deshalb als privat vereinbart.
Private Sub Class_Initialize() ... End Sub
Ein Destruktor ist eine Methode, die den Zustand eines Objektes freigibt. Destruktoren werden unmittelbar vor der Zerstörung einer Instanz automatisch ausgeführt und erlauben, den aktuellen Zustand vor der Zerstörung des Objektes zu sichern.
In Visual Basic hat der Destruktor eines Klassenmoduls immer den Namen Class_Terminate. Er nimmt wie der Konstruktor keine Argumente entgegen und lässt sich ebenfalls nicht explizit aufrufen. Er wird also auch als privat vereinbart.
Private Sub Class_Terminate() ... End Sub